package org.liaohailong.library.http;

import androidx.annotation.NonNull;

/**
 * Author: liaohailong
 * Date: 2022/8/12
 * Time: 20:30
 * Description:
 **/
public interface IHttpCallback<T> {

    /**
     * @param json 接口返回的原生json格式
     */
    void onRawData(@NonNull String json);

    /**
     * 文件 上传/下载 时回调
     *
     * @param currentCount 已 上传/下载 的字节数量
     * @param totalCount   总字节数量
     */
    void onProgress(long currentCount, long totalCount);

    /**
     * @param path 文件下载，本地缓存全路径
     */
    void onDownload(@NonNull String path);

    /**
     * @param exception 请求出错信息
     */
    void onFailure(@NonNull Exception exception);
}
